001    /***********************************************************************************************
002     *              Tekijä:                 Jukka Salminen
003     *              Opiskelijanumero:       i79947
004     *              Email:                  jukka.salminen@uwasa.fi
005     *              Tekoaika:               23.9.2002
006     *              Kurssi/vuosi:           Ohjelmoinnin jatkokurssi/kevät 2002
007     *              Työn tunnus:            Harjoitustyö: Taulukkoeditori web-sivulle
008     ***********************************************************************************************
009     * JSTable-luokka
010     *====================
011     * Luo käsiteltävän taulukon graafisen taulukko-objektin
012     *
013     * Metodit
014     *--------
015     * JSTable                            Luo taulukon datamodel-objektin
016     *
017     * toString                           Palauttaa taulukon tekstinä
018     *
019     * addMouseListenerToHeaderInTable    Testimetodi tulevia tarpeita varten,
020     *                                    ei toistaiseksi käytössä
021     *
022     * Jäsenmuuttujat
023     *---------------
024     * Ei ole
025     *
026     * Paikalliset muuttujat
027     *----------------------
028     * Ei ole
029     */
030    package tables;
031    import javax.swing.*;
032    import javax.swing.table.*;
033    import java.awt.event.*;
034    import javax.swing.event.*;
035    /**
036     *
037     * @author  Jukka
038     */
039    public class JSTable extends javax.swing.JTable
040    {
041            /** Creates a new instance of JSTable */
042            public JSTable()
043            {
044                    this.dataModel = new JSTableModel();
045                    addMouseListenerToHeaderInTable();
046            }
047            // Tämä metodi ei ole käytössä
048            public void addMouseListenerToHeaderInTable()
049            {
050                    final JTable tableView = this;
051                    setColumnSelectionAllowed(false);
052                    MouseAdapter listMouseListener = new MouseAdapter()
053                    {
054                            
055                            public void mouseClicked(MouseEvent e)
056                            {
057                                    TableColumnModel columnModel = tableView.getColumnModel();
058                                    int viewColumn = columnModel.getColumnIndexAtX(e.getX());
059                                    int column = tableView.convertColumnIndexToModel(viewColumn);
060                                    if (e.getClickCount() == 1 && column != -1)
061                                    {
062                                            //      System.out.println("Klikattu headeriä"+column);
063                                            int shiftPressed = e.getModifiers()&InputEvent.SHIFT_MASK;
064                                            
065                                            boolean ascending = (shiftPressed == 0);
066                                            //                                      sorter.sortByColumn(column, ascending);
067                                    }
068                            }
069                    };
070                    JTableHeader th = tableView.getTableHeader();
071                    th.addMouseListener(listMouseListener);
072            }
073            public String toString()
074            {
075                    return this.dataModel.toString();
076            }
077    }